package logic;

import java.io.Serializable;


public abstract class User implements Serializable {
	
	private String firstName, lastName, email, password ;
	private static final long serialVersionUID = 0;	
	/**
	 * Construtor referente ao usuário do sistema.
	 * @param firstName Primeiro nome do usuário.
	 * @param lastName Sobrenome do usuário.
	 * @param email Email do usuário
	 * @param password Password do usuário
	 */
	public User(String firstName,String lastName, String email, String password ){
		this.firstName = firstName;
		this.lastName = lastName;
		this.email = email;
		this.password = password;
	}
	/**
	 * Retorna o Primeiro nome do usuário.
	 * @return 
	 */
	public String getFirstName() {
		return firstName;
	}
	
	/**
	 * Modifica o primeiro nome do usuário.
	 * @param firstName Nome a ser modificado.
	 */
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	
	/**
	 * Retorna o sobrenome do usuário.
	 * @return 
	 */
	public String getLastName() {
		return lastName;
	}
	
	/**
	 * Modifica o sobrenome do usuário.
	 * @param lastName sobrenome a ser modificado.
	 */
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	
	/**
	 * Retorna o email do usuário.
	 * @return
	 */
	public String getEmail() {
		return email;
	}
	
	/**
	 * Modifica o email do usuário.
	 * @param email Email a ser modificado.
	 */
	public void setEmail(String email) {
		this.email = email;
	}
	
	/**
	 * Retorna o Password do usuário
	 * @return
	 */
	public String getPassword() {
		return password;
	}
	
	/**
	 * Modifica o password do usuário
	 * @param password Password a ser modificado
	 */
	public void setPassword(String password) {
		this.password = password;
	}
	
	
	/**
	 * Retorna as informações do usuário  
	 * 
	 */
	@Override
	public String toString() {
		return "User [firstName=" + firstName + ", lastName=" + lastName
				+ ", email=" + email + ", password=" + password + "]";
	}

    

	
	
}
